﻿using System;

namespace FileManager_Server.Utility.ObjectContainers.Unity
{
    public interface IObjectContainer : IServiceProvider
    {
        void Initialize();
        void RegisterType<TIt, T>() where T : TIt;
        T GetWrappedContainer<T>();
        T GetInterfaceService<T>();
        T GetService<T>();
        object GetService(Type serviceType, object overridedArguments);
        Array ResolveAll(Type serviceType);
        T[] ResolveAll<T>();
        void InitializeFromConfigFile();
    }
}